<?php
/**
 * @category 	GroupController.php
 * @author 		Sung Hoon, Cho (akdddnet@gmail.com)
 * @since		2011. 5. 2.
 * @license		BSD License
 * @version		0.1
 */

global $CFG;
require_once $CFG->FW_DIR."/mvc/Controller.php";
require_once $CFG->CLASSES_DIR."/".$CFG->PATH->ADMIN."/group/GroupEB.php";

class GroupController extends Controller {
	 
	function __construct() {
		parent::__construct(get_class());	// 꼭 부모의 construct를 실행 해줘야됩니다.
	}

	function start() {
		global $CFG;
		
		$this->tpl->assign(array(
			"action"=>"/".$CFG->PATH->ADMIN."/group"
		));
	}
	
	function index() {
		$dto = $this->dao->index(new DTO());
		
		$list = $dto->list;
		if($list) {
			foreach($list as $group) {  
				
			}
		}
		
		$this->tpl->assign(array(
			"list"=>$list
		));
	}
	
	function view($seq) {
		if(is_numeric($seq)) {
			$dto = new DTO();
			$eb = new GroupEB();
			$eb->g_seq = $seq;
			$dto->eb = $eb;
			
			$result = $this->dao->view($dto)->obj;
			if(!Common::isNullOrEmpty($result)) {
				$this->tpl->assign(array(
					"result"=>$result	
				));	
			} else {
				Javascript::getAlert("존재하지 않는 그룹 입니다.");	
			}
		} else {
			Javascript::getAlert("잘못된 값이 전달되었습니다.");
		}
	}
	
	function add() {
		$this->tpl->assign(array(
				"script"=>Javascript::getjQueryValidateFile()
		));
	}

	function doAdd() {
		$param = new Parameter(false);
		
		$validate = new Validate();
		$validate->add("required", $param->getParameter("group_name"), "그룹명");
		
		if($validate->validate()) {
			$dto = new DTO();
			
			$eb = new GroupEB();
			$eb->g_name = $param->getParameter("group_name");
			$eb->g_intro = $param->getParameter("group_intro");
			
			$dto->eb = $eb;
			$result = $this->dao->doAdd($dto)->rc;
			if($result > 0) {
				global $CFG;
				
				Javascript::getAlertMove("정상적으로 추가 되었습니다.", $CFG->PATH->WWWADMIN."/group/index");
			} else {
				Javascript::getAlert("추가시 문제가 발생하였습니다.");
			}
		} else {
			Javascript::getAlert($validate->getErrorMessage());
		}
	}
	
	
	function modify($seq) {
		// seq값은 숫자만 전달 받아야됨.
		if(is_numeric($seq)) {
			$dto = new DTO();
			$eb = new GroupEB();
			$eb->g_seq = $seq;
			$dto->eb = $eb;
			
			$result = $this->dao->view($dto)->obj;
			
			if(!Common::isNullOrEmpty($result)) {
				
				$script = Javascript::getjQueryValidateFile();
				$this->tpl->assign(array(
					"result"=>$result
					,"script"=>$script
					
				));	
			} else {
				Javascript::getAlert("존재하지 않는 그룹 입니다.");	
			}
		} else {
			Javascript::getAlert("잘못된 값이 전달되었습니다.");
		}
	}
	
	
	function doModify() {
		$param = new Parameter(false);
		
		$validate = new Validate();
		$validate->add("required", $param->getParameter("group_name"), "그룹명");
		
		if($validate->validate()) {
			$dto = new DTO();
			
			$eb = new GroupEB();
			$eb->g_seq = $param->getParameter("seq");
			$eb->g_name = $param->getParameter("group_name");
			$eb->g_intro = $param->getParameter("group_intro");
			
			$dto->eb = $eb;
			$result = $this->dao->doModify($dto)->rc;
			if($result > 0) {
				global $CFG;
				Javascript::getAlertMove("정상적으로 수정 되었습니다.", $CFG->PATH->WWWADMIN."/group/");
			} else {
				Javascript::getAlert("수정시 문제가 발생하였습니다.");	
			}
		} else {
			Javascript::getAlert($validate->getErrorMessage());
		}
	}
	
	function doDelete($seq) {
		
		if(is_numeric($seq)) {
			$dto = new DTO();
			$eb = new GroupEB();
			$eb->g_seq = $seq;
			
			$dto->eb = $eb;
			$result = $this->dao->doDelete($dto)->rc;
			if($result > 0) {
				global $CFG;
				
				Javascript::getAlertMove("삭제 되었습니다.", $CFG->PATH->WWWADMIN."/group/");
			} else {
				Javascript::getAlert("삭제시 문제가 발생하였습니다.");
			}
		} else {
			Javascript::getAlert("잘못된 값이 전달되었습니다.");
		}
	}
	
}

